정보처리기사 실기 랜덤

1. 다음 자바(Java) 프로그램을 실행한 출력 결과를 쓰시오.
class A {
  int a;
  public A(int n) {
      a = n;
  }

  public void print() {
    System.out.println("a=" +  a);
  }
}

class B extends A {
  public B(int n) {
    super(n);
    super.print();
  }
}

public class Exam {
  public static void main(String[] args) {
    B obj = new B(10);
  }
}

2. 다음은 요구사항의 분류에 대한 설명이다. 괄호 ( ) 안에 들어갈 요구사항의 유형에 대해서 쓰시오.
(   A   ) 요구사항은 시스템이 제공하는 기능, 서비스에 대한 요구사항이다.
(   B   ) 요구사항은 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항이다.
위키해설
클릭하면 보입니다.
  요구공학
3. 다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
#include 
void align(int a[ ]) {
int temp;
for (int i = 0; i < 4; i++) {
  for (int j=0; j < 4 - i; j++)  {
    if (a[j]> a[j+1]) {
      temp = a[j];
      a[j] = a[j+1];
      a[j+1] = temp;
    }
  }
}

main( ) {
    int a[ ] = { 85, 75, 50, 100, 95 };
    align(a);
     for (int i = 0; i < 5; i++) printf("%d ", a[i]);
}

4. 다음은 결합도에 대한 설명이다. 빈칸에 들어갈 알맞은 용어를 보기에서 찾아 쓰시오.
(  A  ) 은/는 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
(  B  ) 은/는 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
(  C  ) 은/는 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도

[보기] : 자료 결합도 / 스탬프 결합도 / 제어 결합도 / 공통 결합도 / 내용 결합도 / 외부 결합도
위키해설
클릭하면 보입니다.
  결합도모듈화
5. 다음 코드에서 괄호안에 알맞는 값을 변수명으로 작성하시오.
#include 
void swap(int *a, int idx1, int idx2) {
 int t= a[idx1];
 a[idx1] = a[idx2];
 a[(    ①    )] = t;
}

void  Usort(int *a, int len) {
  for(int i = 0; i < len - 1; i++) 
     for(int j = 0; j < len - 1 - i; j++)
        if(a[j] > a[j+1])
            swap(a,j,j+1);
}

void main(){
 int a[] = {85, 75, 50, 100, 95};
 int nx = 5;
 Usort(a, (    ②    ));
}

6. 다음은 스푸핑 공격에 대한 설명이다. 괄호안에 들어갈 알맞은 답안을 작성하시오.
( ) 스푸핑은 근거리 통신망 하에서 ( ) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다. 이 공격은 데이터 링크 상의 프로토콜인 (  )를 이용하기 때문에 근거리상의 통신에서만 사용할 수 있는 공격이다.
위키해설
클릭하면 보입니다.
  ARP 스푸핑
7. 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 무엇이라고 하는지 쓰시오.
위키해설
클릭하면 보입니다.
  반정규화
8. 다음 C언어 코드에 대한 알맞는 출력값을 쓰시오.
#include 
int main(){
  int *arr[3];
  int a = 12, b = 24, c = 36;
  arr[0] = &a;
  arr[1] = &b;
  arr[2] = &c;
 
  printf("%dn", *arr[1] + **arr + 1);
}
위키해설
클릭하면 보입니다.
  C 언어 포인터
9. 다음에서 설명하는 블록 암호 알고리즘을 적으시오.
이것은 미국 NBS (National Bureau of Standards, 현재 NIST)에서 국가 표준으로 정한 암호 알고리즘으로, 64비트 평문을 64비트 암호문으로 암화하는 대칭키 암호 알고리즘이다. 키는 7비트마다 오류검출을 위한 정보가 1비트씩 들어가기 때문에 실질적으로는 56비트이다. 현재는 취약하여 사용되지 않는다.
위키해설
클릭하면 보입니다.
  블록 암호DES암호화 알고리즘
10. 다음은 C언어 코드의 문제이다. 다음의 조건에 맞도록 빈 괄호 안에 알맞은 코드를 작성하시오.
[조건]
입력값이 54321일 경우 
출력값이 43215로 출력되어야 한다.

11. 다음 주어진 student 테이블의 name 속성에 idx_name를 인덱스 명으로 하는 인덱스를 생성하는 SQL문을 작성하시오.
idnamegrade
1111홍길동1
2222임꺽정2
3333유관순3
4444안중근3
5555홍범도4
위키해설
클릭하면 보입니다.
  SQLSQL 인덱스 관리
12. 192.168.1.0/24인 네트워크를 FLSM 4개로 분할하였다. 두번째 네트워크 브로드캐스드 IP를 10진수로 변환한 값을 작성하시오.

13. 다음 설명에 대한 답을 영어 약자로 작성하시오.
정부에서 정한 인증기관 및 심사기관에서 기업이 주요 정보자산을 보호하기 위해 수립·관리·운영하는 정보보호 관리체계가 인증 기준에 적합한지를 심사하여 인증을 부여하는 제도
위키해설
클릭하면 보입니다.
  ISMS-P
14. 다음 Java 코드에 대한 알맞는 출력값을 쓰시오.
class Connection {
  private static Connection _inst = null;
  private int count = 0;
    static public Connection get() {
      if(_inst == null) {
      _inst = new Connection();
      return _inst; 
      }
    return _inst;
    }
  public void count() { count ++; }
  public int getCount() { return count; }
}
 
public class testcon {
  public static void main(String[] args) {
    Connection conn1 = Connection.get();
    conn1.count();
    Connection conn2 = Connection.get();
    conn2.count();
    Connection conn3 = Connection.get();
    conn3.count();
    
    System.out.print(conn1.getCount());
  }
}

15. 다음은 Python 프로그램에 대한 문제이다. 빨간색 박스로 가려진 '예약어' 를 알맞게 작성하시오. (단, 첫 번째 라인의 '5 10'은 사용자로 부터 입력받은 값에 해당한다.)
#실행결과
x, y의 값을 공백으로 구분하여 입력: 5 10
x의 값: 5
y의 값: 10

16. 다음은 n이 10일 때, 10을 2진수로 변환하는 자바 소스 코드이다. A, B 괄호 안에 알맞은 값을 적으시오.
class good {
    public static void main (String[] args) {
    	int[]a = new int[8];
        int i=0; int n=10;
        while (   괄호 A    ) {
          a[i++] = (    괄호 B    );
          n /= 2;
       }
      for(i=7; i>=0; i--){
          System.out.print(a[i]);
      }
   }
}

17. 다음 Java 코드의 출력 결과를 작성하시오.
class A {
  int a;
  int b;
}
  
public class Main {
  
  static void func1(A m) {
    m.a *= 10;
  }
  
  static void func2(A m) {
    m.a += m.b;
  }
  
  public static void main(String args[]){
  
  A m = new A();
  
  m.a = 100;
  func1(m);
  m.b = m.a;
  func2(m);
  
  System.out.printf("%d", m.a);
  }
}

18. 다음 SQL 결과에 알맞는 쿼리을 작성하시오.
[성적 테이블]
번호 이름 점수
1 홍길동 95
2 임꺽정 90
3 유관순 80
4 이성계 60
SELECT 번호, 이름, 점수 FROM 성적 ( 1 ) BY ( 2 ) ( 3 )
위키해설
클릭하면 보입니다.
  SQLSQL SELECT 구문
19. 다음 조건을 만족하면서, 과목별 점수의 평균이 90이 상인 과목이름, 최소점수, 최대점수를 구하는 SQL문을 작성하시오.
- 대소문자를 구분하지 않는다.
- WHERE 구분을 사용하지 않는다.
- GROUP BY, HAVING구문을 반드시 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다.

[성적]
과목코드 과목이름 학점 점수
1000 컴퓨터과학 A+ 95
2000 운영체제 B+ 85
1000 컴퓨터과학 B+ 85
2000 운영체제 B 80
[결과]
과목코드 과목이름 학점 점수
1000 컴퓨터과학 A+ 95
2000 운영체제 B+ 85
1000 컴퓨터과학 B+ 85
2000 운영체제 B 80
위키해설
클릭하면 보입니다.
  SQL
20. 소프트웨어 보안 취약점 중 하나인 SQL Injection에 대해 간략히 설명하시오.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
채점하기
hide
reset
타이머

모든 문제들의 저작권은 원저작권자에게 있습니다. 본 사이트는 웹상에 공개되어 있는 문제만 모아서 보여드립니다.
저작권 안내   데이터 보호 안내   제휴 문의

copyright 2026 뉴비티::새로운 CBT 시스템 - newbt.kr (Listed on LeanVibe)